package com.tbit.uqbike.service.base;

import com.tbit.uqbike.object.pojo.AlarmDayCount;
import com.tbit.uqbike.object.pojo.RideLog;
import com.tbit.uqbike.object.pojo.TerAlarm;
import com.tbit.uqbike.object.value.LoginInfo;
import com.tbit.uqbike.object.view.NameObject;
import com.tbit.uqbike.object.view.sugar.CoreMoney;

import java.util.List;
import java.util.Map;

/**
 * @author MyWin E-mail:335918956@qq.com
 * @version 1.0
 * @createTime 2020-01-06 19:10
 */
public interface SugarService {
    // 获取总的用户数
    Integer getTotalUserCnt(LoginInfo li, List<Integer> accountIds);

    // 获取今天增加的用户数
    Integer getTodayUserCnt(LoginInfo li, List<Integer> accountIds);

    // 查询最近40条骑行订单
    List<RideLog> getNearRide(LoginInfo li, List<Integer> accountIds);

    // 统计流水核心指标
    CoreMoney getFeeCore(LoginInfo li, List<Integer> accountIds);

    // 获取特殊指标
    Double getSpeFee(LoginInfo li, List<Integer> accountIds, String feeName);

    // 统计收入总数
    Map<String, Double> statTotalMoney(LoginInfo li, List<Integer> accountIds);

    Map<String, Double> statTotalChangePower(LoginInfo li, List<Integer> accountIds);

    List<Integer> filterAgent(LoginInfo li, List<Integer> accountIds);

    Map<Integer, Integer> statAlarmCount(LoginInfo li, List<Integer> accountIds);

    List<AlarmDayCount> statAlarmDetail(LoginInfo li, List<Integer> accountIds);

    List<TerAlarm> queryAlarmInfo(LoginInfo li, List<Integer> accountIds);

    /**
     * 订单统计
     */
    List<NameObject> statRecharge(LoginInfo li, List<Integer> accountIds, Integer brandId);
}
